Skip to content

[pull] master from bitcoin:master#708

Merged
pull[bot] merged 27 commits intoorngr:masterfrom
bitcoin:master
Mar 20, 2026
Merged

[pull] master from bitcoin:master#708
pull[bot] merged 27 commits intoorngr:masterfrom
bitcoin:master

Conversation

@pull
Copy link

@pull pull bot commented Mar 20, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

davidgumberg and others added 27 commits December 12, 2025 02:36
This commit renames AreInputsStandard to ValidateInputsStandardness.

ValidateInputsStandardness now returns valid TxValidationState if all inputs
(scriptSigs) use only standard transaction forms else returns invalid
TxValidationState which states why an input is not standard.
…ring

- Test the various input scriptSig non standardness, and ensure ValidateInputsStandardness
  Returns the reason why the input is nonstandard.

Co-authored-by: Ben Woosley <ben.woosley@gmail.com>
This change avoids hardcoding the "debug.log" filename, ensuring
compatibility with custom filenames provided via the `-debuglogfile`
command-line option.
Also, apply the comment according to the dev notes.

Also, modify the dev notes to give a lambda-wrapped example.

Can be reviewed via --ignore-all-space

Co-authored-by: Lőrinc <pap.lorinc@gmail.com>
The leveldb exclusion is required to avoid this warning in the subtree:

```
src/leveldb/util/status.cc:63:7: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
   63 |       default:
      |       ^
1 warning generated.
```
So it's used to extract tarballs.
Package updates:
binutils 2.41 -> 2.44
diffutils 3.10 -> 3.12
file 5.45 -> 5.46
git-minimal 2.46.0 -> 2.52.0
(base) glibc 2.39 -> 2.41
gzip 1.13 -> 1.14
linux-headers 6.1.119 -> 6.1.166
LLVM/Clang 19.1.4 -> 19.1.7
mingw-w64 12.0.0 -> 13.0.0
nsis 3.10 -> 3.11
python-minimal 3.10 -> 3.11

CMake 4.x becomes available.
Clang/LLVM 20 & 21 become available.
We are now using 3.31.x.
On Windows, the `winerror.h` header defines `WAIT_TIMEOUT` as a macro.

This introduces a fragile dependency on header inclusion order: if
Windows headers happen to be included before using `WAIT_TIMEOUT`, the
preprocessor expands it into a numeric literal, causing syntax errors.

Rename the variable to `TEST_WAIT_TIMEOUT` to remove this fragility and
avoid the collision entirely.

-BEGIN VERIFY SCRIPT-
sed -i 's/\<WAIT_TIMEOUT\>/TEST_WAIT_TIMEOUT/g' $(git grep -l 'WAIT_TIMEOUT' ./src/)
-END VERIFY SCRIPT-
…le -Wcovered-switch-default

fa4ec13 build: Enable -Wcovered-switch-default (MarcoFalke)
fa2670b refactor: Enable -Wswitch in exhaustive switch (MarcoFalke)

Pull request description:

  The compiler flag `-Wswitch` is enabled. However, it can not fire when a `default:` case exists. Fix that by removing the default case where a switch is already handling all cases exhaustively.

  Also, enable `-Wcovered-switch-default` to catch those cases at compile time in the future.

  Also, apply the comment according to the dev notes.

  Can be reviewed via `--ignore-all-space`

ACKs for top commit:
  stickies-v:
    re-ACK fa4ec13, no changes except for addressing silent merge conflict from d339884
  l0rinc:
    ACK fa4ec13
  achow101:
    ACK fa4ec13
  sedited:
    ACK fa4ec13

Tree-SHA512: 8dd9e71a8cd338255f43448a59a1a4d40a9fc16e19a707cc10fb71442d4df9f82a0e5fae77868ef49cd0ea27fdd972687572c1a50b6aba7e08c6ce87576afc6a
d8f4e7c doc: add release notes (ismaelsadeeq)
248c175 test: ensure `ValidateInputsStandardness` optionally returns debug string (ismaelsadeeq)
d2716e9 policy: update `AreInputsStandard` to return error string (ismaelsadeeq)

Pull request description:

  This PR is another attempt at  #13525.

  Transactions that fail `PreChecks` Validation due to non-standard inputs now  returns invalid validation state`TxValidationResult::TX_INPUTS_NOT_STANDARD` along with a debug error message.

  Previously, the debug error message for non-standard inputs do not specify why the inputs were considered non-standard.
  Instead, the same error string, `bad-txns-nonstandard-inputs`, used for all types of non-standard input scriptSigs.

  This PR updates the `AreInputsStandard`  to include the reason why inputs are non-standard in the debug message.
  This improves the `Precheck` debug message to be more descriptive.

  Furthermore, I have addressed all remaining comments from #13525 in this PR.

ACKs for top commit:
  instagibbs:
    ACK d8f4e7c
  achow101:
    ACK d8f4e7c
  sedited:
    Re-ACK d8f4e7c

Tree-SHA512: 19b1a73c68584522f863b9ee2c8d3a735348667f3628dc51e36be3ba59158509509fcc1ffc5683555112c09c8b14da3ad140bb879eac629b6f60b8313cfd8b91
…2809c3451624d3

3293e9a guix: document when GCC SSA gen patch can be removed (fanquake)
978023f guix: use latest glibc 2.31 (fanquake)
ab9a98b guix: combine gcc-libgcc-patches with base-gcc (fanquake)
2276426 guix: switch to upstream python-oscrypto package (fanquake)
feea2a8 ci: use LIEF 0.17.5 in lint job (fanquake)
a7524f5 guix: switch to upstream python-lief package (fanquake)
2bf97e8 guix: switch to upstream osslsigncode package (fanquake)
dc0ddab guix: drop CMake workaround (fanquake)
31eb46f guix: update to c5eee3336cc1d10a3cc1c97fde2809c3451624d3 (fanquake)
0f323e1 guix: add --no-same-owner to TAR_OPTIONS (fanquake)

Pull request description:

  Update the Guix time-machine to [c5eee3336cc1d10a3cc1c97fde2809c3451624d3](https://codeberg.org/guix/guix/commit/c5eee3336cc1d10a3cc1c97fde2809c3451624d3).

  Package updates:
  binutils 2.41 -> 2.44
  cmake-minimal 3.24.2 -> 3.31.10
  diffutils 3.10 -> 3.12
  file 5.45 -> 5.46
  git-minimal 2.46.0 -> 2.52.0
  (base) glibc 2.39 -> 2.41
  gzip 1.13 -> 1.14
  linux-headers 6.1.119 -> 6.1.166
  LLVM/Clang 19.1.4 -> 19.1.7
  mingw-w64 12.0.0 -> 13.0.0
  nsis 3.10 -> 3.11
  python-minimal 3.10 -> 3.11

  CMake 4.x becomes available.
  Clang/LLVM 20 & 21 become available.

  Switch to upstream `osslsigncode` (2.13, `python-lief` (0.17.5) and `python-oscrypto` (1.3.0) packages.

  Update glibc to the latest commit on the `2.31` branch.

  Could be used for #32764.

ACKs for top commit:
  pinheadmz:
    ACK 3293e9a
  achow101:
    ACK 3293e9a
  sedited:
    ACK 3293e9a
  willcl-ark:
    ACK 3293e9a

Tree-SHA512: 46fe11281911be44ef34d9f19b4c2678f2e4628b4badc12ea4cc17cf3e1d693060cc70f0030b0ac53efae1172ceb61af447368dc4d69f5b2707c06e99206d6cf
e76e886 guix: doc: zdiff3 doesn't work (David Gumberg)
ea1be38 guix: doc: Suggest guix-install.sh --uninstall (David Gumberg)

Pull request description:

  Add a note about guix issues with git `merge.conflictstyle` being set to `zdiff3`, and add information about how to uninstall for users of `guix-install.sh`

ACKs for top commit:
  achow101:
    ACK e76e886
  hebasto:
    ACK e76e886.
  sedited:
    utACK e76e886

Tree-SHA512: e9edc49851579c52e7ac762221d0bb51c928da4dff5566ece766af7f7eb75466831a76f885ccc5a26207c84b846e3f42bae26e80ddece3df1611de2c2320c28a
ddf2a06 Fix compatibility with `-debuglogfile` command-line option (Hennadii Stepanov)

Pull request description:

  This PR avoids hardcoding the "debug.log" filename, ensuring compatibility with custom filenames provided via the `-debuglogfile` command-line option.

ACKs for top commit:
  maflcko:
    review ACK ddf2a06 🐪
  achow101:
    ACK ddf2a06
  sedited:
    ACK ddf2a06

Tree-SHA512: bcf8f4e9407ed6108dbb7bfee673a6a486cd0afaaf1dcfb7aaa2d2c6a85488f9c57557b53033efa5eed723ec842c87c4616b6c078f049787e634cc02cbb740ea
…lures

fa71c6e ci: Avoid intermittent Windows generate download failures (MarcoFalke)

Pull request description:

  The CI Windows step to generate the build system is problematic, because with a clean cache, it will download artifacts over the network. This may intermittently fail due to intermittent network issues.

  Fix this issue, like all other network issues in CI, by retrying once.

ACKs for top commit:
  hodlinator:
    ACK fa71c6e
  hebasto:
    ACK fa71c6e, I have reviewed the code and it looks OK.

Tree-SHA512: 9915e84b6015116cce86a25b4f77e545baef1f26fabe767c8bb07a009b075f76c27f9172dd23f78aa8017fd611cea850b1e985a357bd0b24543e63e1fd85cb6d
…OUT`

658e68f scripted-diff: Rename `WAIT_TIMEOUT` to `TEST_WAIT_TIMEOUT` (Hennadii Stepanov)

Pull request description:

  On Windows, the `winerror.h` header defines `WAIT_TIMEOUT` as a macro.

  This introduces a fragile dependency on header inclusion order: if Windows headers happen to be included before using `WAIT_TIMEOUT`, the preprocessor expands it into a numeric literal, causing syntax errors.

  Rename the variable to `TEST_WAIT_TIMEOUT` to remove this fragility and avoid the collision entirely.

  Split from #34448.

  Similar to #34454.

ACKs for top commit:
  w0xlt:
    ACK 658e68f

Tree-SHA512: 90cf8927e4e41dee24d51fb2ea3335526ff5da4180c24d776d59b642794715b3c6558628088fbc28236d6ac4fffb9a27167fe309cb94ebf04f04c6e5cf957ad5
@pull pull bot locked and limited conversation to collaborators Mar 20, 2026
@pull pull bot added the ⤵️ pull label Mar 20, 2026
@pull pull bot merged commit b425a81 into orngr:master Mar 20, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants